import { defineStore } from 'pinia'
import { ref } from 'vue'

const useCart = defineStore('cart', () => {
	const cart = ref([])
	const addToCart = goods => {
		const item = cart.value.find(item => goods.id == item.id)
		if (item) {
			item.num += goods.num
		} else {
			cart.value.push(goods)
		}
	}
	const removeCart = id => {
		cart.value.forEach((item, index) => {
			if (item.id == id) {
				cart.value.splice(index, 1)
			}
		})
	}
	const cartCount = () => {
		let sum = 0
		cart.value.forEach(item => {
			sum += item.num
		})
		return sum || false
	}
	return {
		cart,
		addToCart,
		removeCart,
		cartCount
	}
}, {
	persist: {
		enabled: true,
		strategies: [{
			key: 'cart',
			storage: localStorage
		}]
	}
})
export default useCart